博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
React学习笔记 - 组件&Props
阅读量:4518 次
发布时间:2019-06-08

本文共 2020 字,大约阅读时间需要 6 分钟。

React Learn Note 4

React学习笔记(四)

标签(空格分隔): React JavaScript


三、组件&Props

组件可以将UI切分成一些独立的、可复用的部件,这样你就只需专注于构建每一个单独的部件。

组件接收props,返回react元素。

1. 函数定义\类定义组件

最简单组件方式 - 函数定义组件

// 函数定义组件function Welcome(props) {    return 

Hello, {props.name}!

;}

ES6 class定义组件,效果同上:

// ES6 class定义组件class Welcome extends React.Component {    render() {        return 

Hello, {this.props.name}!

; }}

2. 组件渲染

将组件作为React元素,标签的属性作为props键值:

const element5_1 = 
;ReactDOM.render( element5_1, document.getElementById('root5'));

警告:
组件名称必须大写字母开头。

3. 组合组件

React组件也可以嵌套。

function App() {    return (        
);}ReactDOM.render(
, document.getElementById('root6'));

图1

警告:
组件的返回值只能有一个根元素。所以将多个Welcome元素用div包裹。

4. 提取组件

可以将组件切分为更小的组件。

function formatDate(date) {    return date.toLocaleTimeString();}function Comment(props) {    return (      
{props.author.name}/
{props.author.name}
{props.text}
{formatDate(props.date)}
);}ReactDOM.render(
, document.getElementById('root7'));

图2

这个组件接收author(对象)、text(字符串)、以及date(Date对象)作为props。是个复杂的组件。接下来我们提取拆分这个组件。

首先提取Avatar组件:

// 提取组件function Avatar(props) {    return (        {props.user.name}    );}function UserInfo(props) {    return (        
{props.user.name}
);}// 最终Comment组件被简化为function Comment2(props) { return (
{props.text}
{formatDate(props.date)}
);}ReactDOM.render(
, document.getElementById('root8'));

5. Props的只读性

无论是使用函数或是类来声明一个组件,它决不能修改它自己的props。

The end...    Last updated by: Jehorn, Jan 07, 2018, 5:44 PM

转载于:https://www.cnblogs.com/jehorn/p/8228923.html

你可能感兴趣的文章
a span等行内元素加margin属性后无效果解决方案
查看>>
傻瓜式硬盘重装win7系统图文加视频教程
查看>>
BZOJ 1607 [Usaco2008 Dec]Patting Heads 轻拍牛头:统计 + 筛法【调和级数】
查看>>
如果一个人请优雅的活着。
查看>>
验证码
查看>>
Django缓存配置
查看>>
Ubuntu下安装 Mysql
查看>>
LeetCode--Reverse Integer
查看>>
PHP_APC+Ajax实现的监视进度条的文件上传
查看>>
计算机网络课堂笔记3.29
查看>>
word2vec----CBOW
查看>>
衰减学习率真的有用吗?
查看>>
ORACLE 建库过程总结
查看>>
Ogre1.8.1 Basic Tutorial 6 - The Ogre Startup Sequence
查看>>
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(36)-文章发布系统③-kindeditor使用...
查看>>
c# Winform 开发分屏显示应用程序
查看>>
canvas刮奖
查看>>
javascript 模拟滚动 隐藏滚动条
查看>>
手把手教你使用 Clion 开发 Linux C++ 项目
查看>>
阿里巴巴卖空阿里巴巴入股新浪微博抑制投资者卖空行为
查看>>